package com.ruoyi.store.domain;

import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 门店对象 jy_store
 *
 * @author ruoyi
 * @date 2021-11-17
 */
public class Store extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 分类 */
    private Long storeClassify;

    /** 二级分类 */
    private String secondClassify;
    /** 门店头像 */
    @Excel(name = "门店头像")
    private String storeImage;

    /** 门店背景图 */
    @Excel(name = "门店背景图")
    private String storeBacImage;

    /** 营业执照 */
    private String businessImage;

    /** 门店名称 */
    @Excel(name = "门店名称")
    private String storeName;

    /** 门店电话 */
    @Excel(name = "门店电话")
    private String storePhone;

    /** 门店地址 */
    @Excel(name = "门店地址")
    private String addressName;

    /** 品牌介绍 */
    @Excel(name = "品牌介绍")
    private String brandDetail;

    /** 运营状态 */
    @Excel(name = "运营状态")
    private String showState;

    /** 门店状态 */
    @Excel(name = "门店状态")
    private String storeState;

    /** 人均消费 */
    @Excel(name = "人均消费")
    private BigDecimal consumption;

    /** 服务保障 */
    @Excel(name = "服务保障")
    private String serviceItem;

    /** 营业开始时间 */
    private String businessStart;

    /** 营业结束时间 */
    @JsonFormat(pattern = "HH:mm")
    private String businessEnd;

    /** 定位地址 */
    @Excel(name = "定位地址")
    private String location;

    private String adCode;
    private String adName;

    /** 省名称 */
    @Excel(name = "省名称")
    private String provinceName;

    /** 省编码 */
    @Excel(name = "省编码")
    private String provinceCode;

    /** 市名称 */
    @Excel(name = "市名称")
    private String cityName;

    /** 市编码 */
    @Excel(name = "市编码")
    private String cityCode;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** geo码 */
    @Excel(name = "geo码")
    private String geoCode;

    /** 综合星级 */
    @Excel(name = "综合星级")
    private BigDecimal storeLevel;

    /** 效果星级 */
    @Excel(name = "效果星级")
    private BigDecimal effectLevel;

    /** 环境星级 */
    @Excel(name = "环境星级")
    private BigDecimal environmentLevel;

    /** 服务星级 */
    @Excel(name = "服务星级")
    private BigDecimal serviceLevel;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String bankCard;

    /** 银行编码 */
    @Excel(name = "银行编码")
    private String bankCode;

    /** 银行名称 */
    @Excel(name = "银行名称")
    private String bankName;

    /** 银行卡开户行 */
    @Excel(name = "银行卡开户行")
    private String bankDeposit;

    /** 银行卡姓名 */
    @Excel(name = "银行卡姓名")
    private String bankUserName;

    /** 银行卡身份证号 */
    @Excel(name = "银行卡身份证号")
    private String bangkUserIdcard;

    /** 银行卡绑定手机号 */
    @Excel(name = "银行卡绑定手机号")
    private String bankUserPhone;

    /** 结算周期 */
    @Excel(name = "结算周期")
    private Long accountDay;

    /** 评价统计 */
    private Integer commentCount;
    /** 全部商品名 */
    private String productNames;
    /**
     * 年费会员到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date vipTime;
    /**
     * 年费会员有效状态
     */
    private String vipState;
    /** 上次结算时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次结算时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date accountLastTime;

    /**邀请码**/
    @Excel(name = "邀请码")
    private String agentCode;
    /**
     * 分佣二维码本地路径
     */
    private String commissionImageLocal;
    /**
     * 分佣二维码url
     */
    private String commissionImageUrl;
    /**
     * 分佣二维码路径
     */

    private String commissionPage;

    /**
     * 绑定为下级本地路径
     */
    private String belowImageLocal;
    /**
     * 绑定为下级二维码url
     */
    private String belowImageUrl;
    /**
     * 绑定为下级二维码路径
     */
    private String belowPage;

    /**
     * 门店图片展示
     * */
    private String storeShowImage;

    /**
     * 门店总收入
     * */
    private Float storeRevenue;

    /**
     * 门店订单数
     * */
    private int storeOrderCount;

    /**
     * 门店员工数
     * */
    private int storeStaffCount;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public String getSecondClassify() {
        return secondClassify;
    }

    public void setSecondClassify(String secondClassify) {
        this.secondClassify = secondClassify;
    }

    public void setStoreImage(String storeImage)
    {
        this.storeImage = storeImage;
    }

    public String getProductNames() {
        return productNames;
    }

    public void setProductNames(String productNames) {
        this.productNames = productNames;
    }

    public Integer getCommentCount() {
        return commentCount;
    }

    public void setCommentCount(Integer commentCount) {
        this.commentCount = commentCount;
    }

    public Long getStoreClassify() {
        return storeClassify;
    }
    public void setStoreClassify(Long storeClassify) {
        this.storeClassify = storeClassify;
    }
    public String getStoreImage()
    {
        return storeImage;
    }
    public void setStoreBacImage(String storeBacImage)
    {
        this.storeBacImage = storeBacImage;
    }

    public String getStoreBacImage()
    {
        return storeBacImage;
    }
    public void setStoreName(String storeName)
    {
        this.storeName = storeName;
    }

    public void setBusinessImage(String businessImage) {
        this.businessImage = businessImage;
    }

    public String getBusinessImage() {
        return businessImage;
    }

    public String getStoreName()
    {
        return storeName;
    }
    public void setStorePhone(String storePhone)
    {
        this.storePhone = storePhone;
    }

    public String getStorePhone()
    {
        return storePhone;
    }
    public void setAddressName(String addressName)
    {
        this.addressName = addressName;
    }

    public String getAddressName()
    {
        return addressName;
    }
    public void setBrandDetail(String brandDetail)
    {
        this.brandDetail = brandDetail;
    }

    public String getBrandDetail()
    {
        return brandDetail;
    }
    public void setShowState(String showState)
    {
        this.showState = showState;
    }

    public String getShowState()
    {
        return showState;
    }
    public void setStoreState(String storeState)
    {
        this.storeState = storeState;
    }

    public String getStoreState()
    {
        return storeState;
    }
    public void setConsumption(BigDecimal consumption)
    {
        this.consumption = consumption;
    }

    public BigDecimal getConsumption()
    {
        return consumption;
    }
    public void setServiceItem(String serviceItem)
    {
        this.serviceItem = serviceItem;
    }

    public String getServiceItem()
    {
        return serviceItem;
    }


    public String getBusinessStart() {
        return businessStart;
    }

    public void setBusinessStart(String businessStart) {
        this.businessStart = businessStart;
    }

    public String getBusinessEnd() {
        return businessEnd;
    }

    public void setBusinessEnd(String businessEnd) {
        this.businessEnd = businessEnd;
    }

    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }
    public void setProvinceName(String provinceName)
    {
        this.provinceName = provinceName;
    }

    public String getProvinceName()
    {
        return provinceName;
    }
    public void setProvinceCode(String provinceCode)
    {
        this.provinceCode = provinceCode;
    }

    public String getProvinceCode()
    {
        return provinceCode;
    }
    public void setCityName(String cityName)
    {
        this.cityName = cityName;
    }

    public String getCityName()
    {
        return cityName;
    }
    public void setCityCode(String cityCode)
    {
        this.cityCode = cityCode;
    }

    public String getCityCode()
    {
        return cityCode;
    }
    public void setLatitude(String latitude)
    {
        this.latitude = latitude;
    }

    public String getLatitude()
    {
        return latitude;
    }
    public void setLongitude(String longitude)
    {
        this.longitude = longitude;
    }

    public String getLongitude()
    {
        return longitude;
    }
    public void setGeoCode(String geoCode)
    {
        this.geoCode = geoCode;
    }

    public String getGeoCode()
    {
        return geoCode;
    }
    public void setStoreLevel(BigDecimal storeLevel)
    {
        this.storeLevel = storeLevel;
    }

    public BigDecimal getStoreLevel()
    {
        return storeLevel;
    }
    public void setEffectLevel(BigDecimal effectLevel)
    {
        this.effectLevel = effectLevel;
    }

    public BigDecimal getEffectLevel()
    {
        return effectLevel;
    }
    public void setEnvironmentLevel(BigDecimal environmentLevel)
    {
        this.environmentLevel = environmentLevel;
    }

    public BigDecimal getEnvironmentLevel()
    {
        return environmentLevel;
    }
    public void setServiceLevel(BigDecimal serviceLevel)
    {
        this.serviceLevel = serviceLevel;
    }

    public BigDecimal getServiceLevel()
    {
        return serviceLevel;
    }
    public void setBankCard(String bankCard)
    {
        this.bankCard = bankCard;
    }

    public String getBankCard()
    {
        return bankCard;
    }
    public void setBankCode(String bankCode)
    {
        this.bankCode = bankCode;
    }

    public String getBankCode()
    {
        return bankCode;
    }
    public void setBankName(String bankName)
    {
        this.bankName = bankName;
    }

    public String getBankName()
    {
        return bankName;
    }
    public void setBankDeposit(String bankDeposit)
    {
        this.bankDeposit = bankDeposit;
    }

    public String getBankDeposit()
    {
        return bankDeposit;
    }
    public void setBankUserName(String bankUserName)
    {
        this.bankUserName = bankUserName;
    }

    public String getBankUserName()
    {
        return bankUserName;
    }
    public void setBangkUserIdcard(String bangkUserIdcard)
    {
        this.bangkUserIdcard = bangkUserIdcard;
    }

    public String getBangkUserIdcard()
    {
        return bangkUserIdcard;
    }
    public void setBankUserPhone(String bankUserPhone)
    {
        this.bankUserPhone = bankUserPhone;
    }

    public String getBankUserPhone()
    {
        return bankUserPhone;
    }
    public void setAccountDay(Long accountDay)
    {
        this.accountDay = accountDay;
    }

    public Long getAccountDay()
    {
        return accountDay;
    }
    public void setAccountLastTime(Date accountLastTime)
    {
        this.accountLastTime = accountLastTime;
    }

    public Date getAccountLastTime()
    {
        return accountLastTime;
    }

    public String getAdCode() {
        return adCode;
    }

    public void setAdCode(String adCode) {
        this.adCode = adCode;
    }

    public String getAdName() {
        return adName;
    }

    public void setAdName(String adName) {
        this.adName = adName;
    }

    public Date getVipTime() {
        return vipTime;
    }

    public void setVipTime(Date vipTime) {
        this.vipTime = vipTime;
    }

    public String getVipState() {
        return vipState;
    }

    public void setVipState(String vipState) {
        this.vipState = vipState;
    }

    public String getAgentCode() {
        return agentCode;
    }

    public void setAgentCode(String agentCode) {
        this.agentCode = agentCode;
    }

    public String getCommissionImageLocal() {
        return commissionImageLocal;
    }

    public void setCommissionImageLocal(String commissionImageLocal) {
        this.commissionImageLocal = commissionImageLocal;
    }

    public String getCommissionImageUrl() {
        return commissionImageUrl;
    }

    public void setCommissionImageUrl(String commissionImageUrl) {
        this.commissionImageUrl = commissionImageUrl;
    }

    public String getCommissionPage() {
        return commissionPage;
    }

    public void setCommissionPage(String commissionPage) {
        this.commissionPage = commissionPage;
    }

    public String getStoreShowImage() {
        return storeShowImage;
    }

    public void setStoreShowImage(String storeShowImage) {
        this.storeShowImage = storeShowImage;
    }


    public String getBelowImageLocal() {
        return belowImageLocal;
    }
    public void setBelowImageLocal(String belowImageLocal) { this.belowImageLocal = belowImageLocal; }

    public String getBelowImageUrl() {
        return belowImageUrl;
    }
    public void setBelowImageUrl(String belowImageUrl) {
        this.belowImageUrl = belowImageUrl;
    }

    public String getBelowPage() {
        return belowPage;
    }
    public void setBelowPage(String belowPage) {
        this.belowPage = belowPage;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Float getStoreRevenue() {
        return storeRevenue;
    }

    public void setStoreRevenue(Float storeRevenue) {
        this.storeRevenue = storeRevenue;
    }

    public int getStoreOrderCount() {
        return storeOrderCount;
    }

    public void setStoreOrderCount(int storeOrderCount) {
        this.storeOrderCount = storeOrderCount;
    }

    public int getStoreStaffCount() {
        return storeStaffCount;
    }

    public void setStoreStaffCount(int storeStaffCount) {
        this.storeStaffCount = storeStaffCount;
    }

    public Store(){

    }
    public Store(StoreApply storeApply){
        this.storeClassify = storeApply.getStoreClassify();
        this.storeImage = storeApply.getStoreImage();
        this.storeBacImage = storeApply.getStoreBacImage();
        this.storeName = storeApply.getStoreName();
        this.storePhone = storeApply.getStorePhone();
        this.addressName = storeApply.getAddressName();
        this.brandDetail = storeApply.getBrandDetail();
        this.consumption = storeApply.getConsumption();
        this.serviceItem = storeApply.getServiceItem();
        this.businessStart = storeApply.getBusinessStart();
        this.businessEnd = storeApply.getBusinessEnd();
        this.location = storeApply.getLocation();
        this.adCode = storeApply.getAdCode();
        this.adName = storeApply.getAdName();
        this.provinceName = storeApply.getProvinceName();
        this.provinceCode = storeApply.getProvinceCode();
        this.cityName = storeApply.getCityName();
        this.cityCode = storeApply.getCityCode();
        this.latitude = storeApply.getLatitude();
        this.longitude = storeApply.getLongitude();
        this.geoCode = storeApply.getGeoCode();
        this.id = storeApply.getStoreId();
        this.businessImage = storeApply.getBusinessImage();
        this.setCreateBy(storeApply.getCreateBy());
        this.setCreateType(storeApply.getCreateType());
        this.setAgentCode(storeApply.getAgentCode());
        this.setStoreShowImage(storeApply.getStoreShowImage());
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("storeImage", getStoreImage())
            .append("storeBacImage", getStoreBacImage())
            .append("storeName", getStoreName())
            .append("storePhone", getStorePhone())
            .append("addressName", getAddressName())
            .append("brandDetail", getBrandDetail())
            .append("showState", getShowState())
            .append("storeState", getStoreState())
            .append("consumption", getConsumption())
            .append("serviceItem", getServiceItem())
            .append("businessStart", getBusinessStart())
            .append("businessEnd", getBusinessEnd())
            .append("location", getLocation())
            .append("provinceName", getProvinceName())
            .append("provinceCode", getProvinceCode())
            .append("cityName", getCityName())
            .append("cityCode", getCityCode())
            .append("latitude", getLatitude())
            .append("longitude", getLongitude())
            .append("geoCode", getGeoCode())
            .append("storeLevel", getStoreLevel())
            .append("effectLevel", getEffectLevel())
            .append("environmentLevel", getEnvironmentLevel())
            .append("serviceLevel", getServiceLevel())
            .append("bankCard", getBankCard())
            .append("bankCode", getBankCode())
            .append("bankName", getBankName())
            .append("bankDeposit", getBankDeposit())
            .append("bankUserName", getBankUserName())
            .append("bangkUserIdcard", getBangkUserIdcard())
            .append("bankUserPhone", getBankUserPhone())
            .append("accountDay", getAccountDay())
            .append("accountLastTime", getAccountLastTime())
            .append("delState", getDelState())
            .append("delUser", getDelUser())
            .append("delType", getDelType())
            .append("delTime", getDelTime())
            .append("createBy", getCreateBy())
            .append("createType", getCreateType())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateType", getUpdateType())
            .append("updateTime", getUpdateTime())
            .append("agentCode", getAgentCode())
            .toString();
    }
}
